| 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 | |||
| ) | 
 1.8.17
 1.8.17