diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/clause_store.cc | 7 | ||||
| -rw-r--r-- | src/core/symbol_table.cc | 17 | ||||
| -rw-r--r-- | src/core/term_bank.cc | 11 |
3 files changed, 24 insertions, 11 deletions
diff --git a/src/core/clause_store.cc b/src/core/clause_store.cc index 75959c3..f8ee73d 100644 --- a/src/core/clause_store.cc +++ b/src/core/clause_store.cc @@ -18,14 +18,19 @@ #include "atp/core/clause_store.h" +#include "atp/core/clause.h" +#include "atp/core/types.h" + #include <cassert> +#include <cstddef> +#include <functional> #include <utility> namespace atp { ClauseId ClauseStore::addClause(Clause clause) { auto new_id = static_cast<ClauseId>(clauses_.size()); - clause.id = new_id; + clause.id_ = new_id; clauses_.push_back(std::move(clause)); return new_id; } diff --git a/src/core/symbol_table.cc b/src/core/symbol_table.cc index 42c7dd8..b707132 100644 --- a/src/core/symbol_table.cc +++ b/src/core/symbol_table.cc @@ -21,7 +21,9 @@ #include "atp/core/types.h" #include <cstddef> +#include <cstdint> #include <stdexcept> +#include <string> #include <string_view> namespace atp { @@ -29,22 +31,23 @@ namespace atp { SymbolId SymbolTable::intern(std::string_view name, SymbolKind kind, uint16_t arity, SortId sort) { auto it = name_to_id_.find(name); if (it != name_to_id_.end()) { - SymbolId id = it->second; - SymbolInfo& info = infos_[id]; - if (info.kind != kind || info.arity != arity) { + SymbolId const id = it->second; + SymbolInfo const& info = infos_[id]; + if (info.kind_ != kind || info.arity_ != arity) { throw std::runtime_error("Symbol kind or arity mismatch for: " + std::string(name)); } return id; } auto new_id = static_cast<SymbolId>(infos_.size()); - infos_.push_back({.name = std::string(name), .kind = kind, .arity = arity, .sort = sort}); - std::string_view stable_name_view = infos_.back().name; + infos_.push_back(SymbolInfo{ + .name_ = std::string(name), .kind_ = kind, .arity_ = arity, .sort_ = sort}); + std::string_view const stable_name_view = infos_.back().name_; name_to_id_.emplace(stable_name_view, new_id); return new_id; } std::string_view SymbolTable::getName(SymbolId id) const { - return infos_[id].name; + return infos_[id].name_; } const SymbolInfo& SymbolTable::getInfo(SymbolId id) const { @@ -52,7 +55,7 @@ const SymbolInfo& SymbolTable::getInfo(SymbolId id) const { } bool SymbolTable::isVariable(SymbolId id) const { - return infos_[id].kind == SymbolKind::kVariable; + return infos_[id].kind_ == SymbolKind::kVariable; } size_t SymbolTable::size() const { diff --git a/src/core/term_bank.cc b/src/core/term_bank.cc index 8c8ef29..2e117b3 100644 --- a/src/core/term_bank.cc +++ b/src/core/term_bank.cc @@ -18,20 +18,25 @@ #include "atp/core/term_bank.h" +#include "atp/core/term.h" #include "atp/core/types.h" #include <cassert> +#include <cstddef> +#include <span> +#include <utility> +#include <vector> namespace atp { TermId TermBank::makeTerm(SymbolId symbol, std::span<const TermId> args) { - TermKey key{.symbol = symbol, .args = {args.begin(), args.end()}}; + TermKey key{.symbol_ = symbol, .args_ = {args.begin(), args.end()}}; auto it = term_to_id_.find(key); if (it != term_to_id_.end()) { return it->second; } auto new_id = static_cast<TermId>(terms_.size()); - Term new_term{.symbol_id = symbol, .args = {args.begin(), args.end()}}; + Term new_term{.symbol_id_ = symbol, .args_ = key.args_}; terms_.push_back(std::move(new_term)); term_to_id_.emplace(std::move(key), new_id); return new_id; @@ -48,7 +53,7 @@ const Term& TermBank::getTerm(TermId id) const { bool TermBank::isVariable(TermId id) const { assert(id < terms_.size() && "TermId out of bounds!"); - return symbols_.isVariable(terms_[id].symbol_id); + return symbols_.isVariable(terms_[id].symbol_id_); } size_t TermBank::size() const { |
