souffle
2.0.2-371-g6315b36
|
#include "interpreter/Engine.h"
#include "AggregateOp.h"
#include "FunctorOps.h"
#include "Global.h"
#include "interpreter/Context.h"
#include "interpreter/Index.h"
#include "interpreter/Node.h"
#include "interpreter/Relation.h"
#include "interpreter/ViewContext.h"
#include "ram/Aggregate.h"
#include "ram/AutoIncrement.h"
#include "ram/Break.h"
#include "ram/Call.h"
#include "ram/Choice.h"
#include "ram/Clear.h"
#include "ram/Conjunction.h"
#include "ram/Constant.h"
#include "ram/Constraint.h"
#include "ram/DebugInfo.h"
#include "ram/EmptinessCheck.h"
#include "ram/ExistenceCheck.h"
#include "ram/Exit.h"
#include "ram/Extend.h"
#include "ram/False.h"
#include "ram/Filter.h"
#include "ram/IO.h"
#include "ram/IndexAggregate.h"
#include "ram/IndexChoice.h"
#include "ram/IndexScan.h"
#include "ram/IntrinsicOperator.h"
#include "ram/LogRelationTimer.h"
#include "ram/LogSize.h"
#include "ram/LogTimer.h"
#include "ram/Loop.h"
#include "ram/Negation.h"
#include "ram/NestedIntrinsicOperator.h"
#include "ram/PackRecord.h"
#include "ram/Parallel.h"
#include "ram/ParallelAggregate.h"
#include "ram/ParallelChoice.h"
#include "ram/ParallelIndexAggregate.h"
#include "ram/ParallelIndexChoice.h"
#include "ram/ParallelIndexScan.h"
#include "ram/ParallelScan.h"
#include "ram/Program.h"
#include "ram/Project.h"
#include "ram/ProvenanceExistenceCheck.h"
#include "ram/Query.h"
#include "ram/Relation.h"
#include "ram/RelationSize.h"
#include "ram/Scan.h"
#include "ram/Sequence.h"
#include "ram/Statement.h"
#include "ram/SubroutineArgument.h"
#include "ram/SubroutineReturn.h"
#include "ram/Swap.h"
#include "ram/TranslationUnit.h"
#include "ram/True.h"
#include "ram/TupleElement.h"
#include "ram/TupleOperation.h"
#include "ram/UnpackRecord.h"
#include "ram/UserDefinedOperator.h"
#include "ram/utility/Visitor.h"
#include "souffle/BinaryConstraintOps.h"
#include "souffle/RamTypes.h"
#include "souffle/RecordTable.h"
#include "souffle/SignalHandler.h"
#include "souffle/SymbolTable.h"
#include "souffle/TypeAttribute.h"
#include "souffle/io/IOSystem.h"
#include "souffle/io/ReadStream.h"
#include "souffle/io/WriteStream.h"
#include "souffle/profile/Logger.h"
#include "souffle/profile/ProfileEvent.h"
#include "souffle/utility/EvaluatorUtil.h"
#include "souffle/utility/MiscUtil.h"
#include "souffle/utility/ParallelUtil.h"
#include "souffle/utility/StringUtil.h"
#include <algorithm>
#include <array>
#include <atomic>
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <functional>
#include <iostream>
#include <iterator>
#include <map>
#include <memory>
#include <regex>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
#include <dlfcn.h>
#include <ffi.h>
Go to the source code of this file.
Namespaces | |
souffle | |
souffle::interpreter | |
Macros | |
#define | AGGREGATE(Structure, Arity, ...) |
#define | BASE_CASE(Kind) |
#define | BINARY_OP_INTEGRAL(opcode, op) |
#define | BINARY_OP_INTEGRAL_SHIFT(opcode, op, tySigned, tyUnsigned) |
#define | BINARY_OP_LOGICAL(opcode, op) BINARY_OP_INTEGRAL(opcode, op) |
#define | BINARY_OP_NUMERIC(opcode, op) |
#define | BINARY_OP_SHIFT_MASK(ty, op) return ramBitCast(EVAL_CHILD(ty, 0) op (EVAL_CHILD(ty, 1) & RAM_BIT_SHIFT_MASK)) |
#define | BINARY_OP_TYPED(ty, op) return ramBitCast(static_cast<ty>(EVAL_CHILD(ty, 0) op EVAL_CHILD(ty, 1))) |
#define | CAL_SEARCH_BOUND(superInfo, low, high) |
#define | CASE(...) GET_MACRO(__VA_ARGS__, EXTEND_CASE, _Dummy, BASE_CASE)(__VA_ARGS__) |
#define | CHOICE(Structure, Arity, ...) |
#define | CLEAR(Structure, Arity, ...) |
#define | COMPARE(opCode, op) |
#define | COMPARE_EQ_NE(opCode, op) |
#define | COMPARE_NUMERIC(ty, op) return EVAL_LEFT(ty) op EVAL_RIGHT(ty) |
#define | COMPARE_STRING(op) |
#define | CONV_FROM_STRING(op, ty) |
#define | CONV_TO_STRING(op, ty) case FunctorOp::op: return getSymbolTable().lookup(std::to_string(EVAL_CHILD(ty, 0))); |
#define | DEBUG(Kind) std::cout << "Running Node: " << #Kind << "\n"; |
#define | dynamicLibSuffix ".so"; |
#define | EMPTINESS_CHECK(Structure, Arity, ...) |
#define | ESAC(Kind) |
#define | EVAL_CHILD(ty, idx) ramBitCast<ty>(execute(shadow.getChild(idx), ctxt)) |
#define | EVAL_LEFT(ty) ramBitCast<ty>(execute(shadow.getLhs(), ctxt)) |
#define | EVAL_RIGHT(ty) ramBitCast<ty>(execute(shadow.getRhs(), ctxt)) |
#define | EXISTENCE_CHECK(Structure, Arity, ...) |
#define | EXTEND_CASE(Kind, Structure, Arity) |
#define | FFI_RamFloat ffi_type_float |
#define | FFI_RamSigned ffi_type_sint32 |
#define | FFI_RamUnsigned ffi_type_uint32 |
#define | FFI_Symbol ffi_type_pointer |
#define | GET_MACRO(_1, _2, _3, NAME, ...) NAME |
#define | INDEX_AGGREGATE(Structure, Arity, ...) |
#define | INDEX_CHOICE(Structure, Arity, ...) |
#define | INDEX_SCAN(Structure, Arity, ...) |
#define | MINMAX_NUMERIC(opCode, op) |
#define | MINMAX_OP(ty, op) |
#define | MINMAX_OP_SYM(op) |
#define | PARALLEL_AGGREGATE(Structure, Arity, ...) |
#define | PARALLEL_CHOICE(Structure, Arity, ...) |
#define | PARALLEL_INDEX_AGGREGATE(Structure, Arity, ...) |
#define | PARALLEL_INDEX_CHOICE(Structure, Arity, ...) |
#define | PARALLEL_INDEX_SCAN(Structure, Arity, ...) |
#define | PARALLEL_SCAN(Structure, Arity, ...) |
#define | PROJECT(Structure, Arity, ...) |
#define | PROVENANCE_EXISTENCE_CHECK(Structure, Arity, ...) |
#define | RELATION_SIZE(Structure, Arity, ...) |
#define | RUN_RANGE(ty) |
#define | SCAN(Structure, Arity, ...) |
#define | TUPLE_COPY_FROM(dst, src) |
#define | UNARY_OP(op, ty, func) |
#define AGGREGATE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define BASE_CASE | ( | Kind | ) |
#define BINARY_OP_INTEGRAL | ( | opcode, | |
op | |||
) |
#define BINARY_OP_INTEGRAL_SHIFT | ( | opcode, | |
op, | |||
tySigned, | |||
tyUnsigned | |||
) |
#define BINARY_OP_LOGICAL | ( | opcode, | |
op | |||
) | BINARY_OP_INTEGRAL(opcode, op) |
#define BINARY_OP_NUMERIC | ( | opcode, | |
op | |||
) |
#define BINARY_OP_SHIFT_MASK | ( | ty, | |
op | |||
) | return ramBitCast(EVAL_CHILD(ty, 0) op (EVAL_CHILD(ty, 1) & RAM_BIT_SHIFT_MASK)) |
#define BINARY_OP_TYPED | ( | ty, | |
op | |||
) | return ramBitCast(static_cast<ty>(EVAL_CHILD(ty, 0) op EVAL_CHILD(ty, 1))) |
#define CASE | ( | ... | ) | GET_MACRO(__VA_ARGS__, EXTEND_CASE, _Dummy, BASE_CASE)(__VA_ARGS__) |
#define CHOICE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define CLEAR | ( | Structure, | |
Arity, | |||
... | |||
) |
#define COMPARE | ( | opCode, | |
op | |||
) |
#define COMPARE_EQ_NE | ( | opCode, | |
op | |||
) |
#define COMPARE_NUMERIC | ( | ty, | |
op | |||
) | return EVAL_LEFT(ty) op EVAL_RIGHT(ty) |
#define COMPARE_STRING | ( | op | ) |
#define CONV_FROM_STRING | ( | op, | |
ty | |||
) |
#define CONV_TO_STRING | ( | op, | |
ty | |||
) | case FunctorOp::op: return getSymbolTable().lookup(std::to_string(EVAL_CHILD(ty, 0))); |
#define DEBUG | ( | Kind | ) | std::cout << "Running Node: " << #Kind << "\n"; |
#define dynamicLibSuffix ".so"; |
Definition at line 126 of file Engine.cpp.
#define EMPTINESS_CHECK | ( | Structure, | |
Arity, | |||
... | |||
) |
#define ESAC | ( | Kind | ) |
#define EVAL_CHILD | ( | ty, | |
idx | |||
) | ramBitCast<ty>(execute(shadow.getChild(idx), ctxt)) |
#define EVAL_LEFT | ( | ty | ) | ramBitCast<ty>(execute(shadow.getLhs(), ctxt)) |
#define EVAL_RIGHT | ( | ty | ) | ramBitCast<ty>(execute(shadow.getRhs(), ctxt)) |
#define EXISTENCE_CHECK | ( | Structure, | |
Arity, | |||
... | |||
) |
#define EXTEND_CASE | ( | Kind, | |
Structure, | |||
Arity | |||
) |
#define FFI_RamFloat ffi_type_float |
Definition at line 137 of file Engine.cpp.
#define FFI_RamSigned ffi_type_sint32 |
Definition at line 135 of file Engine.cpp.
#define FFI_RamUnsigned ffi_type_uint32 |
Definition at line 136 of file Engine.cpp.
#define FFI_Symbol ffi_type_pointer |
Definition at line 140 of file Engine.cpp.
#define GET_MACRO | ( | _1, | |
_2, | |||
_3, | |||
NAME, | |||
... | |||
) | NAME |
#define INDEX_AGGREGATE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define INDEX_CHOICE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define INDEX_SCAN | ( | Structure, | |
Arity, | |||
... | |||
) |
#define MINMAX_NUMERIC | ( | opCode, | |
op | |||
) |
#define MINMAX_OP | ( | ty, | |
op | |||
) |
#define MINMAX_OP_SYM | ( | op | ) |
#define PARALLEL_AGGREGATE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define PARALLEL_CHOICE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define PARALLEL_INDEX_AGGREGATE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define PARALLEL_INDEX_CHOICE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define PARALLEL_INDEX_SCAN | ( | Structure, | |
Arity, | |||
... | |||
) |
#define PARALLEL_SCAN | ( | Structure, | |
Arity, | |||
... | |||
) |
#define PROJECT | ( | Structure, | |
Arity, | |||
... | |||
) |
#define PROVENANCE_EXISTENCE_CHECK | ( | Structure, | |
Arity, | |||
... | |||
) |
#define RELATION_SIZE | ( | Structure, | |
Arity, | |||
... | |||
) |
#define RUN_RANGE | ( | ty | ) |
#define SCAN | ( | Structure, | |
Arity, | |||
... | |||
) |
#define TUPLE_COPY_FROM | ( | dst, | |
src | |||
) |
#define UNARY_OP | ( | op, | |
ty, | |||
func | |||
) |