diff --git a/.clang-format b/.clang-format index 378674a..c46124e 100644 --- a/.clang-format +++ b/.clang-format @@ -63,7 +63,7 @@ BreakBeforeTernaryOperators: true BreakConstructorInitializers: AfterColon BreakInheritanceList: AfterColon BreakStringLiterals: false -ColumnLimit: 80 +ColumnLimit: 120 CommentPragmas: "^ IWYU pragma:" CompactNamespaces: false ConstructorInitializerAllOnOneLineOrOnePerLine: true diff --git a/src/ast/call_expression_ast.h b/src/ast/call_expression_ast.h index 7deaea9..464a574 100644 --- a/src/ast/call_expression_ast.h +++ b/src/ast/call_expression_ast.h @@ -22,8 +22,7 @@ namespace obelisk void setArgs(std::vector> args); public: - CallExpressionAST(const std::string &callee, - std::vector> args) : + CallExpressionAST(const std::string &callee, std::vector> args) : callee_(callee), args_(std::move(args)) { diff --git a/src/ast/function_ast.cpp b/src/ast/function_ast.cpp index 1bdad9d..021e9bb 100644 --- a/src/ast/function_ast.cpp +++ b/src/ast/function_ast.cpp @@ -17,8 +17,7 @@ llvm::Function *obelisk::FunctionAST::codegen() return nullptr; } - llvm::BasicBlock *bB - = llvm::BasicBlock::Create(*TheContext, "entry", theFunction); + llvm::BasicBlock *bB = llvm::BasicBlock::Create(*TheContext, "entry", theFunction); Builder->SetInsertPoint(bB); NamedValues.clear(); diff --git a/src/ast/function_ast.h b/src/ast/function_ast.h index bdf630e..d9f433f 100644 --- a/src/ast/function_ast.h +++ b/src/ast/function_ast.h @@ -18,8 +18,7 @@ namespace obelisk void setPrototype(std::unique_ptr prototype); public: - FunctionAST(std::unique_ptr prototype, - std::unique_ptr body) : + FunctionAST(std::unique_ptr prototype, std::unique_ptr body) : prototype_(std::move(prototype)), body_(std::move(body)) { diff --git a/src/ast/prototype_ast.cpp b/src/ast/prototype_ast.cpp index f7caba4..72e096a 100644 --- a/src/ast/prototype_ast.cpp +++ b/src/ast/prototype_ast.cpp @@ -3,17 +3,10 @@ llvm::Function *obelisk::PrototypeAST::codegen() { - std::vector doubles(args_.size(), - llvm::Type::getDoubleTy(*TheContext)); - llvm::FunctionType *FT - = llvm::FunctionType::get(llvm::Type::getDoubleTy(*TheContext), - doubles, - false); + std::vector doubles(args_.size(), llvm::Type::getDoubleTy(*TheContext)); + llvm::FunctionType *FT = llvm::FunctionType::get(llvm::Type::getDoubleTy(*TheContext), doubles, false); - llvm::Function *F = llvm::Function::Create(FT, - llvm::Function::ExternalLinkage, - name_, - obelisk::TheModule.get()); + llvm::Function *F = llvm::Function::Create(FT, llvm::Function::ExternalLinkage, name_, obelisk::TheModule.get()); unsigned idx = 0; for (auto &arg : F->args()) diff --git a/src/ast/prototype_ast.h b/src/ast/prototype_ast.h index 5e09b8c..f8f22a1 100644 --- a/src/ast/prototype_ast.h +++ b/src/ast/prototype_ast.h @@ -19,8 +19,7 @@ namespace obelisk void setArgs(std::vector args); public: - PrototypeAST(const std::string& name, - std::vector args) : + PrototypeAST(const std::string& name, std::vector args) : name_(name), args_(std::move(args)) { diff --git a/src/knowledge_base.cpp b/src/knowledge_base.cpp index 6a53f2e..f9e3ae9 100644 --- a/src/knowledge_base.cpp +++ b/src/knowledge_base.cpp @@ -50,11 +50,7 @@ obelisk::KnowledgeBase::~KnowledgeBase() void obelisk::KnowledgeBase::enableForeignKeys() { char* errmsg; - int result = sqlite3_exec(dbConnection_, - "PRAGMA foreign_keys = ON;", - NULL, - NULL, - &errmsg); + int result = sqlite3_exec(dbConnection_, "PRAGMA foreign_keys = ON;", NULL, NULL, &errmsg); if (result != SQLITE_OK) { if (errmsg) @@ -96,9 +92,7 @@ void obelisk::KnowledgeBase::addEntities(std::vector& entities) catch (obelisk::DatabaseConstraintException& exception) { // ignore unique constraint error - if (std::strcmp(exception.what(), - "UNIQUE constraint failed: entity.name") - != 0) + if (std::strcmp(exception.what(), "UNIQUE constraint failed: entity.name") != 0) { throw; } @@ -117,9 +111,7 @@ void obelisk::KnowledgeBase::addVerbs(std::vector& verbs) catch (obelisk::DatabaseConstraintException& exception) { // ignore unique constraint error - if (std::strcmp(exception.what(), - "UNIQUE constraint failed: verb.name") - != 0) + if (std::strcmp(exception.what(), "UNIQUE constraint failed: verb.name") != 0) { throw; } @@ -163,9 +155,7 @@ void obelisk::KnowledgeBase::getFact(obelisk::Fact& fact) fact.selectFact(dbConnection_); } -void obelisk::KnowledgeBase::getFloat(float& result1, - float& result2, - double var) +void obelisk::KnowledgeBase::getFloat(float& result1, float& result2, double var) { result1 = (float) var; result2 = (float) (var - (double) result1); diff --git a/src/knowledge_base.h b/src/knowledge_base.h index f7d030f..05cced7 100644 --- a/src/knowledge_base.h +++ b/src/knowledge_base.h @@ -72,8 +72,7 @@ namespace obelisk * base as. */ KnowledgeBase(const char* filename) : - KnowledgeBase(filename, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) + KnowledgeBase(filename, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) { } diff --git a/src/models/entity.cpp b/src/models/entity.cpp index 159cf46..f051372 100644 --- a/src/models/entity.cpp +++ b/src/models/entity.cpp @@ -21,11 +21,7 @@ void obelisk::Entity::selectEntity(sqlite3* dbConnection) sqlite3_stmt* ppStmt = nullptr; - auto result = sqlite3_prepare_v2(dbConnection, - "SELECT id, name FROM entity WHERE name=?", - -1, - &ppStmt, - nullptr); + auto result = sqlite3_prepare_v2(dbConnection, "SELECT id, name FROM entity WHERE name=?", -1, &ppStmt, nullptr); if (result != SQLITE_OK) { @@ -89,18 +85,13 @@ void obelisk::Entity::insertEntity(sqlite3* dbConnection) sqlite3_stmt* ppStmt = nullptr; - auto result = sqlite3_prepare_v2(dbConnection, - "INSERT INTO entity (name) VALUES (?)", - -1, - &ppStmt, - nullptr); + auto result = sqlite3_prepare_v2(dbConnection, "INSERT INTO entity (name) VALUES (?)", -1, &ppStmt, nullptr); if (result != SQLITE_OK) { throw obelisk::DatabaseException(sqlite3_errmsg(dbConnection)); } - result - = sqlite3_bind_text(ppStmt, 1, getName().c_str(), -1, SQLITE_TRANSIENT); + result = sqlite3_bind_text(ppStmt, 1, getName().c_str(), -1, SQLITE_TRANSIENT); switch (result) { case SQLITE_OK : @@ -127,8 +118,7 @@ void obelisk::Entity::insertEntity(sqlite3* dbConnection) sqlite3_set_last_insert_rowid(dbConnection, 0); break; case SQLITE_CONSTRAINT : - throw obelisk::DatabaseConstraintException( - sqlite3_errmsg(dbConnection)); + throw obelisk::DatabaseConstraintException(sqlite3_errmsg(dbConnection)); case SQLITE_BUSY : throw obelisk::DatabaseBusyException(); break; diff --git a/src/models/error.h b/src/models/error.h index 7c733c2..1e1af7d 100644 --- a/src/models/error.h +++ b/src/models/error.h @@ -18,8 +18,7 @@ namespace obelisk } DatabaseException(const int errorCode) : - errorMessage_( - "database error " + std::to_string(errorCode) + " ocurred") + errorMessage_("database error " + std::to_string(errorCode) + " ocurred") { } @@ -71,8 +70,7 @@ namespace obelisk public: DatabaseBusyException() { - setErrorMessage( - "database was busy and operation was not performed"); + setErrorMessage("database was busy and operation was not performed"); } }; diff --git a/src/models/fact.cpp b/src/models/fact.cpp index 75f0058..fa83326 100644 --- a/src/models/fact.cpp +++ b/src/models/fact.cpp @@ -208,8 +208,7 @@ void obelisk::Fact::insertFact(sqlite3* dbConnection) sqlite3_set_last_insert_rowid(dbConnection, 0); break; case SQLITE_CONSTRAINT : - throw obelisk::DatabaseConstraintException( - sqlite3_errmsg(dbConnection)); + throw obelisk::DatabaseConstraintException(sqlite3_errmsg(dbConnection)); case SQLITE_BUSY : throw obelisk::DatabaseBusyException(); break; diff --git a/src/models/fact.h b/src/models/fact.h index 0bdf0ef..22486d3 100644 --- a/src/models/fact.h +++ b/src/models/fact.h @@ -34,9 +34,7 @@ namespace obelisk { } - Fact(obelisk::Entity leftEntity, - obelisk::Entity rightEntity, - obelisk::Verb verb) : + Fact(obelisk::Entity leftEntity, obelisk::Entity rightEntity, obelisk::Verb verb) : id_(0), leftEntity_(leftEntity), rightEntity_(rightEntity), @@ -44,10 +42,7 @@ namespace obelisk { } - Fact(int id, - obelisk::Entity leftEntity, - obelisk::Entity rightEntity, - obelisk::Verb verb) : + Fact(int id, obelisk::Entity leftEntity, obelisk::Entity rightEntity, obelisk::Verb verb) : id_(id), leftEntity_(leftEntity), rightEntity_(rightEntity), diff --git a/src/models/suggest_action.h b/src/models/suggest_action.h index 2f680e4..4e298f3 100644 --- a/src/models/suggest_action.h +++ b/src/models/suggest_action.h @@ -33,9 +33,7 @@ namespace obelisk { } - SuggestAction(obelisk::Fact fact, - obelisk::Action trueAction, - obelisk::Action falseAction) : + SuggestAction(obelisk::Fact fact, obelisk::Action trueAction, obelisk::Action falseAction) : id_(0), fact_(fact), trueAction_(trueAction), @@ -43,10 +41,7 @@ namespace obelisk { } - SuggestAction(int id, - obelisk::Fact fact, - obelisk::Action trueAction, - obelisk::Action falseAction) : + SuggestAction(int id, obelisk::Fact fact, obelisk::Action trueAction, obelisk::Action falseAction) : id_(id), fact_(fact), trueAction_(trueAction), diff --git a/src/models/verb.cpp b/src/models/verb.cpp index 778d89a..e47d5cd 100644 --- a/src/models/verb.cpp +++ b/src/models/verb.cpp @@ -23,11 +23,7 @@ void obelisk::Verb::selectVerb(sqlite3* dbConnection) sqlite3_stmt* ppStmt = nullptr; - auto result = sqlite3_prepare_v2(dbConnection, - "SELECT id, name FROM verb WHERE name=?", - -1, - &ppStmt, - nullptr); + auto result = sqlite3_prepare_v2(dbConnection, "SELECT id, name FROM verb WHERE name=?", -1, &ppStmt, nullptr); if (result != SQLITE_OK) { throw obelisk::DatabaseException(sqlite3_errmsg(dbConnection)); @@ -89,18 +85,13 @@ void obelisk::Verb::insertVerb(sqlite3* dbConnection) sqlite3_stmt* ppStmt = nullptr; - auto result = sqlite3_prepare_v2(dbConnection, - "INSERT INTO verb (name) VALUES (?)", - -1, - &ppStmt, - nullptr); + auto result = sqlite3_prepare_v2(dbConnection, "INSERT INTO verb (name) VALUES (?)", -1, &ppStmt, nullptr); if (result != SQLITE_OK) { throw obelisk::DatabaseException(sqlite3_errmsg(dbConnection)); } - result - = sqlite3_bind_text(ppStmt, 1, getName().c_str(), -1, SQLITE_TRANSIENT); + result = sqlite3_bind_text(ppStmt, 1, getName().c_str(), -1, SQLITE_TRANSIENT); switch (result) { case SQLITE_OK : @@ -127,8 +118,7 @@ void obelisk::Verb::insertVerb(sqlite3* dbConnection) sqlite3_set_last_insert_rowid(dbConnection, 0); break; case SQLITE_CONSTRAINT : - throw obelisk::DatabaseConstraintException( - sqlite3_errmsg(dbConnection)); + throw obelisk::DatabaseConstraintException(sqlite3_errmsg(dbConnection)); case SQLITE_BUSY : throw obelisk::DatabaseBusyException(); break; diff --git a/src/obelisk.cpp b/src/obelisk.cpp index de73f5b..8a110df 100644 --- a/src/obelisk.cpp +++ b/src/obelisk.cpp @@ -15,8 +15,7 @@ static int obelisk::mainLoop() try { - kb = std::unique_ptr { - new obelisk::KnowledgeBase("cromer.kb")}; + kb = std::unique_ptr {new obelisk::KnowledgeBase("cromer.kb")}; } catch (obelisk::KnowledgeBaseException& exception) { @@ -44,10 +43,8 @@ static int obelisk::mainLoop() case obelisk::Lexer::kTokenEof : return EXIT_SUCCESS; case ';' : // ignore top-level semicolons. - std::cout << "Identifier: " - << parser->getLexer()->getIdentifier() << std::endl; - std::cout << "Num: " << parser->getLexer()->getNumberValue() - << std::endl; + std::cout << "Identifier: " << parser->getLexer()->getIdentifier() << std::endl; + std::cout << "Num: " << parser->getLexer()->getNumberValue() << std::endl; try { parser->getNextToken(); diff --git a/src/parser.cpp b/src/parser.cpp index 37e9a09..41431db 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -44,15 +44,13 @@ void obelisk::Parser::setCurrentToken(int currentToken) currentToken_ = currentToken; } -std::unique_ptr obelisk::Parser::logError( - const char* str) +std::unique_ptr obelisk::Parser::logError(const char* str) { fprintf(stderr, "Error: %s\n", str); return nullptr; } -std::unique_ptr obelisk::Parser::logErrorPrototype( - const char* str) +std::unique_ptr obelisk::Parser::logErrorPrototype(const char* str) { logError(str); return nullptr; @@ -86,14 +84,12 @@ std::unique_ptr obelisk::Parser::parsePrimary() std::unique_ptr obelisk::Parser::parseNumberExpression() { - auto result = std::make_unique( - getLexer()->getNumberValue()); + auto result = std::make_unique(getLexer()->getNumberValue()); getNextToken(); return result; } -std::unique_ptr - obelisk::Parser::parseParenthesisExpression() +std::unique_ptr obelisk::Parser::parseParenthesisExpression() { getNextToken(); auto v = parseExpression(); @@ -110,8 +106,7 @@ std::unique_ptr return v; } -std::unique_ptr - obelisk::Parser::parseIdentifierExpression() +std::unique_ptr obelisk::Parser::parseIdentifierExpression() { std::string idName = getLexer()->getIdentifier(); getNextToken(); @@ -181,8 +176,7 @@ std::unique_ptr obelisk::Parser::parsePrototype() getNextToken(); - return std::make_unique(functionName, - std::move(argNames)); + return std::make_unique(functionName, std::move(argNames)); } std::unique_ptr obelisk::Parser::parseDefinition() @@ -196,8 +190,7 @@ std::unique_ptr obelisk::Parser::parseDefinition() if (auto expression = parseExpression()) { - return std::make_unique(std::move(prototype), - std::move(expression)); + return std::make_unique(std::move(prototype), std::move(expression)); } return nullptr; @@ -208,10 +201,8 @@ std::unique_ptr obelisk::Parser::parseTopLevelExpression() if (auto expression = parseExpression()) { // Make an anonymous prototype - auto prototype = std::make_unique("__anon_expr", - std::vector()); - return std::make_unique(std::move(prototype), - std::move(expression)); + auto prototype = std::make_unique("__anon_expr", std::vector()); + return std::make_unique(std::move(prototype), std::move(expression)); } return nullptr; } @@ -241,8 +232,7 @@ void obelisk::Parser::parseFact(std::vector& facts) getNextToken(); if (getCurrentToken() != '(') { - throw obelisk::ParserException( - "expected '(' but got '" + std::to_string(getCurrentToken()) + "'"); + throw obelisk::ParserException("expected '(' but got '" + std::to_string(getCurrentToken()) + "'"); } syntax.push('('); @@ -308,14 +298,12 @@ void obelisk::Parser::parseFact(std::vector& facts) if (leftEntities.size() == 0) { - throw obelisk::ParserException( - "missing left side entities"); + throw obelisk::ParserException("missing left side entities"); } if (rightEntities.size() == 0) { - throw obelisk::ParserException( - "missing right side entities"); + throw obelisk::ParserException("missing right side entities"); } break; } @@ -346,9 +334,8 @@ void obelisk::Parser::parseFact(std::vector& facts) { for (auto& rightEntity : rightEntities) { - facts.push_back(obelisk::Fact(obelisk::Entity(leftEntity), - obelisk::Entity(rightEntity), - obelisk::Verb(verb))); + facts.push_back( + obelisk::Fact(obelisk::Entity(leftEntity), obelisk::Entity(rightEntity), obelisk::Verb(verb))); } } } @@ -380,8 +367,7 @@ void obelisk::Parser::handleFact(std::unique_ptr& kb) kb->getEntity(entity); if (entity.getId() == 0) { - throw obelisk::ParserException( - "left entity could not be inserted into the database"); + throw obelisk::ParserException("left entity could not be inserted into the database"); } else { @@ -399,8 +385,7 @@ void obelisk::Parser::handleFact(std::unique_ptr& kb) kb->getEntity(entity); if (entity.getId() == 0) { - throw obelisk::ParserException( - "right entity could not be inserted into the database"); + throw obelisk::ParserException("right entity could not be inserted into the database"); } else { @@ -423,8 +408,7 @@ void obelisk::Parser::handleFact(std::unique_ptr& kb) kb->getVerb(verb); if (verb.getId() == 0) { - throw obelisk::ParserException( - "verb could not be inserted into the database"); + throw obelisk::ParserException("verb could not be inserted into the database"); } else { @@ -447,8 +431,7 @@ void obelisk::Parser::handleFact(std::unique_ptr& kb) kb->getFact(fact); if (fact.getId() == 0) { - throw obelisk::ParserException( - "fact could not be inserted into the database"); + throw obelisk::ParserException("fact could not be inserted into the database"); } } } diff --git a/src/parser.h b/src/parser.h index a71358e..00aa208 100644 --- a/src/parser.h +++ b/src/parser.h @@ -21,13 +21,11 @@ namespace obelisk void setCurrentToken(int currentToken); std::unique_ptr logError(const char* str); - std::unique_ptr logErrorPrototype( - const char* str); + std::unique_ptr logErrorPrototype(const char* str); std::unique_ptr parseExpression(); std::unique_ptr parseNumberExpression(); - std::unique_ptr - parseParenthesisExpression(); + std::unique_ptr parseParenthesisExpression(); std::unique_ptr parseIdentifierExpression(); std::unique_ptr parsePrimary(); std::unique_ptr parsePrototype();