Skip to content

Commit

Permalink
Cleaned up some parts in ast2ram header.
Browse files Browse the repository at this point in the history
  • Loading branch information
azreika committed Nov 19, 2020
1 parent a2c99cc commit 2cb20b4
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
4 changes: 2 additions & 2 deletions src/ast2ram/AstToRamTranslator.cpp
Expand Up @@ -735,7 +735,7 @@ void AstToRamTranslator::finaliseAstTypes(ast::Program& program) const {
});
}

Own<ram::Sequence> AstToRamTranslator::translateProgram(const ast::TranslationUnit& translationUnit) {
Own<ram::Sequence> AstToRamTranslator::generateProgram(const ast::TranslationUnit& translationUnit) {
// Check if trivial program
if (sccGraph->getNumberOfSCCs() == 0) {
return mk<ram::Sequence>();
Expand Down Expand Up @@ -812,7 +812,7 @@ Own<ram::TranslationUnit> AstToRamTranslator::translateUnit(ast::TranslationUnit

/* -- Translation -- */
// Create the final RAM program
auto ramMain = translateProgram(tu);
auto ramMain = generateProgram(tu);
ErrorReport& errReport = tu.getErrorReport();
DebugReport& debugReport = tu.getDebugReport();
VecOwn<ram::Relation> rels;
Expand Down
16 changes: 9 additions & 7 deletions src/ast2ram/AstToRamTranslator.h
Expand Up @@ -86,15 +86,17 @@ class AstToRamTranslator {
return sipsMetric.get();
}

size_t getEvaluationArity(const ast::Atom* atom) const;
/** Translates an AST program into a corresponding RAM program */
Own<ram::TranslationUnit> translateUnit(ast::TranslationUnit& tu);

// TODO (azreika): remove this when RAM relation creation removed
const ram::Relation* lookupRelation(const std::string& name) const;

/** AST->RAM translation methods */
Own<ram::TranslationUnit> translateUnit(ast::TranslationUnit& tu);
Own<ram::Expression> translateValue(const ast::Argument* arg, const ValueIndex& index) const;
// TODO (azreika): these probably belong more to the clause translator
size_t getEvaluationArity(const ast::Atom* atom) const;
Own<ram::Condition> translateConstraint(const ast::Literal* arg, const ValueIndex& index) const;
Own<ram::Expression> translateValue(const ast::Argument* arg, const ValueIndex& index) const;
Own<ram::Expression> translateConstant(const ast::Constant& c) const;
virtual Own<ram::Sequence> translateProgram(const ast::TranslationUnit& translationUnit);

protected:
const ast::Program* program = nullptr;
Expand All @@ -116,8 +118,6 @@ class AstToRamTranslator {

virtual Own<ast::Clause> createDeltaClause(const ast::Clause* original, size_t recursiveAtomIdx) const;
RamDomain getConstantRamRepresentation(const ast::Constant& constant) const;

// clean up
Own<ram::Statement> generateClauseVersion(const std::set<const ast::Relation*>& scc,
const ast::Clause* cl, size_t deltaAtomIdx, size_t version) const;
Own<ram::Statement> translateRecursiveClauses(
Expand All @@ -126,6 +126,7 @@ class AstToRamTranslator {
/** -- Generation methods -- */

/** High-level relation translation */
virtual Own<ram::Sequence> generateProgram(const ast::TranslationUnit& translationUnit);
Own<ram::Statement> generateNonRecursiveRelation(const ast::Relation& rel) const;
Own<ram::Statement> generateRecursiveStratum(const std::set<const ast::Relation*>& scc) const;

Expand Down Expand Up @@ -154,6 +155,7 @@ class AstToRamTranslator {
Own<SymbolTable> symbolTable;

/** Create RAM relations for a given SCC */
// TODO (azreika): remove RAM relation creation here entirely
void createRamRelations(size_t scc);

/** Replace ADTs with special records */
Expand Down
4 changes: 2 additions & 2 deletions src/ast2ram/ProvenanceTranslator.cpp
Expand Up @@ -39,9 +39,9 @@

namespace souffle::ast2ram {

Own<ram::Sequence> ProvenanceTranslator::translateProgram(const ast::TranslationUnit& translationUnit) {
Own<ram::Sequence> ProvenanceTranslator::generateProgram(const ast::TranslationUnit& translationUnit) {
// do the regular translation
auto ramProgram = AstToRamTranslator::translateProgram(translationUnit);
auto ramProgram = AstToRamTranslator::generateProgram(translationUnit);

// add subroutines for each clause
addProvenanceClauseSubroutines(program);
Expand Down
2 changes: 1 addition & 1 deletion src/ast2ram/ProvenanceTranslator.h
Expand Up @@ -24,7 +24,7 @@ class ProvenanceTranslator : public AstToRamTranslator {
~ProvenanceTranslator() = default;

protected:
Own<ram::Sequence> translateProgram(const ast::TranslationUnit& translationUnit) override;
Own<ram::Sequence> generateProgram(const ast::TranslationUnit& translationUnit) override;
Own<ast::Clause> createDeltaClause(const ast::Clause* original, size_t recursiveAtomIdx) const override;
Own<ram::Statement> generateClearExpiredRelations(
const std::set<const ast::Relation*>& expiredRelations) const override;
Expand Down

0 comments on commit 2cb20b4

Please sign in to comment.