| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   48     std::map<const std::string, const std::string> 
identifiers;
 
   51     std::map<std::string, unsigned> 
idxMap;
 
   94         assert(it != 
relationMap.end() && 
"relation not found");
 
  112     void generateCode(std::ostream& os, 
const std::string& 
id, 
bool& withSharedLibrary);
 
  
void generateRelationTypeStruct(std::ostream &out, Own< Relation > relationType)
Get relation struct definition.
void emitCode(std::ostream &out, const ram::Statement &stmt)
Generate code.
const ram::Relation * lookup(const std::string &relName)
Lookup relation by relation name.
const std::string getRelationName(const ram::Relation &rel)
Get relation name.
unsigned lookupFreqIdx(const std::string &txt)
Lookup frequency counter.
const RecordTable & getRecordTable()
Get record table.
std::set< std::string > typeCache
Cache for generated types for relations.
virtual ~Synthesiser()=default
void generateCode(std::ostream &os, const std::string &id, bool &withSharedLibrary)
Generate code.
Synthesiser(ram::TranslationUnit &tUnit)
size_t lookupReadIdx(const std::string &txt)
Lookup read counter.
ram::TranslationUnit & getTranslationUnit()
Get translation unit.
Program & getProgram() const
Get the RAM Program of the translation unit
Translating a RAM program.
std::map< std::string, size_t > neIdxMap
Frequency profiling of non-existence checks.
An abstract class for performing indexed operations.
Souffle - A Datalog Compiler Copyright (c) 2013, 2015, Oracle and/or its affiliates.
const std::string getOpContextName(const ram::Relation &rel)
Get context name.
Abstract class for a relational algebra operation.
ram::TranslationUnit & translationUnit
RAM translation unit.
const std::string convertRamIdent(const std::string &name)
Convert RAM identifier.
std::map< std::string, const ram::Relation * > relationMap
Relation map.
Abstract class for RAM statements.
std::map< std::string, unsigned > idxMap
Frequency profiling of searches.
std::map< const std::string, const std::string > identifiers
RAM identifier to C++ identifier map.
RecordTable recordTable
Record Table.
void visitDepthFirst(const Node &root, Visitor< R, Ps... > &visitor, Args &... args)
A utility function visiting all nodes within the RAM fragments rooted by the given node recursively i...
void rel(size_t limit, bool showLimit=true)
std::set< const ram::Relation * > getReferencedRelations(const ram::Operation &op)
Get referenced relations.